<?php
/**
 * 返回信息
 */
function returnData($code = API_SUCCESS, $message = "", $data = [])
{
    if (empty($message)) {
        if ($code == API_SUCCESS) {
            $message = '操作成功';
        } elseif ($code == API_PARAM_ERROR) {
            $message = '参数错误';
        } elseif ($code == API_INVALID_REQUEST) {
            $message = '无效的接口请求';
        } elseif ($code == API_METHOD_ERROR) {
            $message = '请以post方式提交';
        } elseif ($code == API_AUTH_TIME_OUT) {
            $message = "登录已过期";
        } elseif ($code == API_COMMON_ERROR) {
            $message = '操作失败';
        } else {
            $message = '未知错误';
        }

    }
    if ($data) {
        $response = json(['code' => $code, 'message' => $message, 'data' => $data]);
    } else {
        $response = json(['code' => $code, "message" => $message]);
    }
    exit($response->send());
}

/**
 * 错误返回信息
 */
function returnError($code = API_COMMON_ERROR, $message = "")
{
    returnData($code, $message);
}

/**
 * @param string $message 错误统一返回message
 */
function returnCommonError($message = '')
{
    returnError(API_COMMON_ERROR, $message);
}

/**
 * 获取随机码
 *
 * @param number $length
 * @param string $type
 * @return string
 */
function getRandCode($length = 6, $type = 'integer')
{
    switch ($type) {
        case 'integer':
            $chars_array = array(
                "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
            );
            break;
        case 'string':
            $chars_array = array(
                "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
                "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
                "w", "x", "y", "z"
            );
            break;
        default:
            $chars_array = array(
                "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
                "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
                "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
                "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
                "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
                "S", "T", "U", "V", "W", "X", "Y", "Z"
            );
    }

    $charsLen = count($chars_array) - 1;

    $outputstr = "";
    for ($i = 0; $i < $length; $i++) {
        $outputstr .= $chars_array[mt_rand(0, $charsLen)];
    }

    return $outputstr;
}